package com.cicc.beergamevirtualsimulationsystem.model.parameter.req;

import java.lang.Integer;

import com.cicc.beergamevirtualsimulationsystem.annotation.EnumValid;
import com.cicc.beergamevirtualsimulationsystem.common.constant.ParameterConstant;
import com.cicc.beergamevirtualsimulationsystem.common.enums.parameterEnum.DemandCurveEnum;
import com.cicc.beergamevirtualsimulationsystem.common.enums.parameterEnum.RoleAllocationModeEnum;
import lombok.Data;

/**
 * 游戏参数创建请求参数
 */
@Data
public class ParameterCreatorReq {

    /**
     * 总人数
     */
    private Integer totalPeopleNum;

    /**
     * 需求曲线
     */
    @EnumValid(enumClass = DemandCurveEnum.class, message = ParameterConstant.DEMAND_CURVE_ERROR)
    private Integer demandCurve;

    /**
     * 角色分配模式
     */
    @EnumValid(enumClass = RoleAllocationModeEnum.class, message = ParameterConstant.ROLE_ALLOCATION_MODE_ERROR)
    private Integer roleAllocationMode;

    /**
     * 周期数
     */
    private Integer cycles;

    /**
     * 到货周期数
     */
    private Integer deliveryCycle;

    /**
     * 对局时间
     */
    private Integer gameTime;
    
    /**
     * 级别
     */
    private Integer level;

}
